package pop3proxy.persistence;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Ein AccountManager, welcher die Verwaltung der Accounts übernimmt.
 * Da sowohl Account, als auch Accountmanager Serialisierbar sind, kann
 * das gesamte Datei einfach in eine Datei geschrieben und wieder geladen werden.
 */
public class AccountManager implements Serializable, Iterable<Account> {
    private List<Account> accounts = new ArrayList<>();
    
    public void addAccount(Account acc) {
        accounts.add(acc);
    }
    
    public void removeAccount(Account acc) {
        accounts.remove(acc);
    }
    
    public void removeAccount(int index) {
        accounts.remove(index);
    }

    @Override
    public Iterator<Account> iterator() {
        return accounts.iterator();
    }
    
    public int size() {
        return accounts.size();
    }
    
    public Account get(int i) {
        return accounts.get(i);
    }
}
